package jp.syuriken.snsw.terenaibot.plugins.updatedNotifer;

import java.text.MessageFormat;

import jp.syuriken.snsw.terenaibot.BotConfiguration;
import jp.syuriken.snsw.terenaibot.DataProvider;
import jp.syuriken.snsw.terenaibot.VersionInfo;
import jp.syuriken.snsw.terenaibot.plugins.RegisterablePlugin;

/**
 * tbotsys-coreがアップデートされたことを投稿する。
 * 
 * @author $Author$
 */
public class UpdatedNotiferPlugin implements RegisterablePlugin {
	
	private static final String PREV_VERSION_PROPERTY_NAME = "plugin.updnot.prev_version";
	

	@Override
	public void constructPlugin(BotConfiguration configuration) {
		String version = VersionInfo.getUniqueVersion();
		DataProvider dataProvider = configuration.getDataProviderFactory().getProvider("instance");
		String prevVersion = dataProvider.getString(PREV_VERSION_PROPERTY_NAME);
		if (version.equals(prevVersion) == false) {
			String pattern =
					configuration.getResourceBundle().getString("plugin.updnot.post", "tbotsysがアップデートされました：{0}→{1}");
			String string = MessageFormat.format(pattern, prevVersion, version);
			configuration.getWrapper().postBackground(string);
			dataProvider.setString(PREV_VERSION_PROPERTY_NAME, version);
		}
	}
	
	@Override
	public void destructPlugin() {
	}
	
	@Override
	public String getPluginName() {
		return "UpdatedNotifer Plugin";
	}
	
}
